package com.adeng.lombok.EqualsAndHashCode;

import com.adeng.lombok.Shape;
import lombok.EqualsAndHashCode;

/**
 * @author
 * @create 2018-04-21 22:16
 */
@EqualsAndHashCode(exclude = {"id", "shape"})
public class EqualsAndHashCodeExample {
    private transient int transientVar = 10;
    private String name;
    private double score;
    private Shape shape = new Square(5, 10);
    private String[] tags;
    private int id;

    public String getName() {
        return this.name;
    }

    @EqualsAndHashCode(callSuper = true)
    public static class Square extends Shape {
        private final int width, height;

        public Square(int width, int height) {
            this.width = width;
            this.height = height;
        }
    }


    public static void main(String[] args) {
        EqualsAndHashCodeExample e = new EqualsAndHashCodeExample();
        EqualsAndHashCodeExample e2 = new EqualsAndHashCodeExample();

        System.out.println(e.equals(e2));
    }
}